<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Recorrido_lst( $this );

	class Recorrido_lst extends Lst
	{
	function Recorrido_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}
	function setLevel()
		{
			$this->aShowColumns = array_keys ( $this->aColumns );
			switch ( $this->getOptionView() )
			{
				case 'E':
					$this->aShowColumns = array( 'Nombre','Categoria'  );
					break;
				case 'L':
					$this->aShowColumns = array( 'Nombre','Categoria', 'Cant' );
					break;
			}
			//if ( array_key_exists( 'ncRecorrido' , $this->aFields )  ) unset($this->aShowColumns[array_search( 'Recorrido',$this->aShowColumns)]);
		}
	function initialize()
	{
		$this->oFiltro = $this->oModule->loadClass( 'Recorrido_frm' );
		$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
		
		$this->setTitle ( "Recorrido" );
		$this->setSummary( "Esta tabla contiene los Recorridos" );
		$this->addColumnMultilanguage ( 'Nombre', 'cdRecorrido' );
		$this->setColumnAction ( 'Nombre', VER_RECORRIDO, 'ncRecorrido' );
		$this->addColumn ( 'Categoria', 'cdCategoriaRecorrido' );
		$this->addColumn ( 'Cant', '' );
		$this->addColumn ( 'Descripcion', 'cDescripcion' );
		$this->addColumn ( 'Extension', 'nExtension' );
		$this->addColumn ( 'Duracion', 'nDuracion' );
		$this->addColumn ( 'Codigo', 'ncRecorrido' );
		$this->addColumn ( 'Orden', 'nOrden' );
	}
	function makeColumn ( $aRow, $cField )
	{
		switch( $cField )
		{
			case 'Cant':
					$cReturn =  $this->oDatabase->getData("SELECT count(*) FROM gtRecorridoAtractivo WHERE ncRecorrido = " . $aRow['ncRecorrido']) ;
					break;
				default:
					return false;
				break;
		}
		return $cReturn;
	}
	function makeRowProperties( $aRow)
	{
		$aColores = array( 1 => 'green', 2 => 'white', 3 => 'red', 4 => 'black', 5 => 'yellow');
		return " style='background-color:". $aColores[$aRow['ncEstadoPublicacion']]."' " ;;
	}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT ncRecorrido, ncEstadoPublicacion, cdRecorrido, cdCategoriaRecorrido, nExtension, nDuracion, nOrden, ncEstadoPublicacion
												FROM gtRecorrido as Rec
												JOIN gcCategoriaRecorrido as CRe
												ON CRe.ncCategoriaRecorrido = Rec.ncCategoriaRecorrido";
			// Arma el Filtro de la Consulta
				$this->oFiltro->setDefaultSearchField( "cdRecorrido" );
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray('Rec') );
				return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$this->addListAction ( AGREGAR_RECORRIDO, $cParametroRegistro, 'I' , VENTANA_SECUNDARIA);
			$this->addListAction ( PUBLICAR_RECORRIDO, $cParametroRegistro, 'I' , VENTANA_SECUNDARIA);
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro =  "ncRecorrido=" . $aRow["ncRecorrido"] ;
			$this->addRowAction ( MODIFICAR_RECORRIDO, $cParametroRegistro );
			$this->addRowAction ( ELIMINAR_RECORRIDO, $cParametroRegistro);
		}
	function makeComplex()
		{
			$oLst = $this->oModule->loadClass ( "recorrido_atractivo_lst" );
			$oLst->aFields['ncRecorrido'] = $this->aFields['ncRecorrido'];
			$oLst->setTitle("Atractivos");
			$oLst->setNoPaging();
			$oLst->open();
			if ( $oLst->oRecordset->count() > 0 )
			{
				$oLst->makeTab();
			}
		}
	}
?>